﻿namespace Digitalmes.Application.Scada.Events;

/// <summary>
/// 处理后事件抽象类。
/// </summary>
public abstract class AbstractAfterEvent : INotification
{
    /// <summary>
    /// 线体编号
    /// </summary>
    [NotNull]
    public string? LineCode { get; set; }

    /// <summary>
    /// 工位编号
    /// </summary>
    [NotNull]
    public string? WsCode { get; set; }

    /// <summary>
    /// 工序编号
    /// </summary>
    [NotNull]
    public string? OpCode { get; set; }

    /// <summary>
    /// 数据处理状态
    /// </summary>
    public int State { get; set; }

    /// <summary>
    /// 错误消息，不存在则为 null。
    /// </summary>
    public string? ErrorMessage { get; set; }

    /// <summary>
    /// 内部错误代码。
    /// </summary>
    public int InnerErrorCode { get; set; }

    /// <summary>
    /// 数据模式。
    /// </summary>
    [NotNull]
    public string? Mode { get; set; }

    /// <summary>
    /// 要后续处理的数据。
    /// </summary>
    public object? Target { get; set; }
}
